// noinspection JSUnresolvedReference /** * Field Google Map */ /* global jQuery, document, redux_change, redux, google */ (function ( $ ) { 'use strict'; redux.field_objects = redux.field_objects || {}; redux.field_objects.google_maps = redux.field_objects.google_maps || {}; /* LIBRARY INIT */ redux.field_objects.google_maps.init = function ( selector ) { if ( ! selector ) { selector = $( document ).find( '.redux-group-tab:visible' ).find( '.redux-container-google_maps:visible' ); } $( selector ).each( function ( i ) { let delayRender; const el = $( this ); let parent = el; if ( ! el.hasClass( 'redux-field-container' ) ) { parent = el.parents( '.redux-field-container:first' ); } if ( parent.is( ':hidden' ) ) { return; } if ( parent.hasClass( 'redux-field-init' ) ) { parent.removeClass( 'redux-field-init' ); } else { return; } // Check for delay render, which is useful for calling a map // render after JavaScript load. delayRender = Boolean( el.find( '.redux_framework_google_maps' ).data( 'delay-render' ) ); // API Key button. redux.field_objects.google_maps.clickHandler( el ); // Init our maps. redux.field_objects.google_maps.initMap( el, i, delayRender ); } ); }; /* INIT MAP FUNCTION */ redux.field_objects.google_maps.initMap = async function ( el, idx, delayRender ) { let delayed; let scrollWheel; let streetView; let mapType; let address; let defLat; let defLong; let defaultZoom; let mapOptions; let geocoder; let g_autoComplete; let g_LatLng; let g_map; let noLatLng = false; // Pull the map class. const mapClass = el.find( '.redux_framework_google_maps' ); const containerID = mapClass.attr( 'id' ); const autocomplete = containerID + '_autocomplete'; const canvas = containerID + '_map_canvas'; const canvasId = $( '#' + canvas ); const latitude = containerID + '_latitude'; const longitude = containerID + '_longitude'; // Add map index to data attr. // Why, say we want to use delay_render, // and want to init the map later on. // You'd need the index number in the // event of multiple map instances. // This allows one to retrieve it // later. $( mapClass ).attr( 'data-idx', idx ); if ( true === delayRender ) { return; } // Map has been rendered, no need to process again. if ( $( '#' + containerID ).hasClass( 'rendered' ) ) { return; } // If a map is set to delay render and has been initiated // from another scrip, add the 'render' class so rendering // does not occur. // It messes things up. delayed = Boolean( mapClass.data( 'delay-render' ) ); if ( true === delayed ) { mapClass.addClass( 'rendered' ); } // Create the autocomplete object, restricting the search // to geographical location types. g_autoComplete = await google.maps.importLibrary( 'places' ); g_autoComplete = new google.maps.places.Autocomplete( document.getElementById( autocomplete ), {types: ['geocode']} ); // Data bindings. scrollWheel = Boolean( mapClass.data( 'scroll-wheel' ) ); streetView = Boolean( mapClass.data( 'street-view' ) ); mapType = Boolean( mapClass.data( 'map-type' ) ); address = mapClass.data( 'address' ); address = decodeURIComponent( address ); address = address.trim(); // Set default Lat/lng. defLat = canvasId.data( 'default-lat' ); defLong = canvasId.data( 'default-long' ); defaultZoom = canvasId.data( 'default-zoom' ); // Eval whether to set maps based on lat/lng or address. if ( '' !== address ) { if ( '' === defLat || '' === defLong ) { noLatLng = true; } } else { noLatLng = false; } // Can't have empty values, or the map API will complain. // Set default for the middle of the United States. defLat = defLat ? defLat : 39.11676722061108; defLong = defLong ? defLong : -100.47761000000003; if ( noLatLng ) { // If displaying a map based on an address. geocoder = new google.maps.Geocoder(); // Set up Geocode and pass address. geocoder.geocode( {'address': address}, function ( results, status ) { let latitude; let longitude; // Function results. if ( status === google.maps.GeocoderStatus.OK ) { // A good address was passed. g_LatLng = results[0].geometry.location; // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); // Get and set lat/long data. latitude = el.find( '#' + containerID + '_latitude' ); latitude.val( results[0].geometry.location.lat() ); longitude = el.find( '#' + containerID + '_longitude' ); longitude.val( results[0].geometry.location.lng() ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } else { // No data found, alert the user. alert( 'Geocode was not successful for the following reason: ' + status ); } } ); } else { // If displaying map based on an lat/lng. g_LatLng = new google.maps.LatLng( defLat, defLong ); // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, // Start off far unless an item is selected, set by php. streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create the map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } }; redux.field_objects.google_maps.renderControls = function ( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ) { let markerTooltip; let infoWindow; let g_marker; let geoAlert = mapClass.data( 'geo-alert' ); // Get HTML. const input = document.getElementById( autocomplete ); // Set objects into the map. g_map.controls[google.maps.ControlPosition.TOP_LEFT].push( input ); // Bind objects to the map. g_autoComplete = new google.maps.places.Autocomplete( input ); g_autoComplete.bindTo( 'bounds', g_map ); // Get the marker tooltip data. markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Create infoWindow. infoWindow = new google.maps.InfoWindow(); // Create marker. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), draggable: true, title: markerTooltip, animation: google.maps.Animation.DROP } ); geoAlert = decodeURIComponent( geoAlert ); // Place change. google.maps.event.addListener( g_autoComplete, 'place_changed', function () { let place; let address; let markerTooltip; infoWindow.close(); // Get place data. place = g_autoComplete.getPlace(); // Display alert if something went wrong. if ( ! place.geometry ) { window.alert( geoAlert ); return; } console.log( place.geometry.viewport ); // If the place has a geometry, then present it on a map. if ( place.geometry.viewport ) { g_map.fitBounds( place.geometry.viewport ); } else { g_map.setCenter( place.geometry.location ); g_map.setZoom( 17 ); // Why 17? Because it looks good. } markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Set the marker icon. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), title: markerTooltip, clickable: true, draggable: true, animation: google.maps.Animation.DROP } ); // Set marker position and display. g_marker.setPosition( place.geometry.location ); g_marker.setVisible( true ); // Form array of address components. address = ''; if ( place.address_components ) { address = [( place.address_components[0] && place.address_components[0].short_name || '' ), ( place.address_components[1] && place.address_components[1].short_name || '' ), ( place.address_components[2] && place.address_components[2].short_name || '' )].join( ' ' ); } // Set the default marker info window with address data. infoWindow.setContent( '
' + place.name + '
' + address ); infoWindow.open( g_map, g_marker ); // Run Geolocation. redux.field_objects.google_maps.geoLocate( g_autoComplete ); // Fill in address inputs. redux.field_objects.google_maps.fillInAddress( el, latitude, longitude, g_autoComplete ); } ); // Marker drag. google.maps.event.addListener( g_marker, 'drag', function ( event ) { document.getElementById( latitude ).value = event.latLng.lat(); document.getElementById( longitude ).value = event.latLng.lng(); } ); // End marker drag. google.maps.event.addListener( g_marker, 'dragend', function () { redux_change( el.find( '.redux_framework_google_maps' ) ); } ); // Zoom Changed. g_map.addListener( 'zoom_changed', function () { el.find( '.google_m_zoom_input' ).val( g_map.getZoom() ); } ); // Marker Info Window. infoWindow = new google.maps.InfoWindow(); google.maps.event.addListener( g_marker, 'click', function () { const marker_info = containerID + '_marker_info'; const infoValue = document.getElementById( marker_info ).value; if ( '' !== infoValue ) { infoWindow.setContent( infoValue ); infoWindow.open( g_map, g_marker ); } } ); }; /* FILL IN ADDRESS FUNCTION */ redux.field_objects.google_maps.fillInAddress = function ( el, latitude, longitude, g_autoComplete ) { // Set variables. const containerID = el.find( '.redux_framework_google_maps' ).attr( 'id' ); // What if someone only wants city, or state, ect... // gotta do it this way to check for the address! // Need to check each of the returned components to see what is returned. const componentForm = { street_number: 'short_name', route: 'long_name', locality: 'long_name', administrative_area_level_1: 'short_name', country: 'long_name', postal_code: 'short_name' }; // Get the place details from the autocomplete object. const place = g_autoComplete.getPlace(); let component; let i; let addressType; let _d_addressType; let val; let len; document.getElementById( latitude ).value = place.geometry.location.lat(); document.getElementById( longitude ).value = place.geometry.location.lng(); for ( component in componentForm ) { if ( componentForm.hasOwnProperty( component ) ) { // Push in the dynamic form element ID again. component = containerID + '_' + component; // Assign to proper place. document.getElementById( component ).value = ''; document.getElementById( component ).disabled = false; } } // Get each component of the address from the place details // and fill the corresponding field on the form. len = place.address_components.length; for ( i = 0; i < len; i += 1 ) { addressType = place.address_components[i].types[0]; if ( componentForm[addressType] ) { // Push in the dynamic form element ID again. _d_addressType = containerID + '_' + addressType; // Get the original. val = place.address_components[i][componentForm[addressType]]; // Assign to proper place. document.getElementById( _d_addressType ).value = val; } } }; redux.field_objects.google_maps.geoLocate = function ( g_autoComplete ) { if ( navigator.geolocation ) { navigator.geolocation.getCurrentPosition( function ( position ) { const geolocation = new google.maps.LatLng( position.coords.latitude, position.coords.longitude ); const circle = new google.maps.Circle( { center: geolocation, radius: position.coords.accuracy } ); g_autoComplete.setBounds( circle.getBounds() ); } ); } }; /* API BUTTON CLICK HANDLER */ redux.field_objects.google_maps.clickHandler = function ( el ) { // Find the API Key button and react on click. el.find( '.google_m_api_key_button' ).on( 'click', function () { // Find message wrapper. const wrapper = el.find( '.google_m_api_key_wrapper' ); if ( wrapper.is( ':visible' ) ) { // If the wrapper is visible, close it. wrapper.slideUp( 'fast', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } else { // If the wrapper is visible, open it. wrapper.slideDown( 'medium', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } } ); el.find( '.google_m_autocomplete' ).on( 'keypress', function ( e ) { if ( 13 === e.keyCode ) { e.preventDefault(); } } ); // Auto select autocomplete contents, // since Google doesn't do this inherently. el.find( '.google_m_autocomplete' ).on( 'click', function ( e ) { $( this ).trigger( 'focus' ); $( this ).trigger( 'select' ); e.preventDefault(); } ); }; } )( jQuery ); Grać w kasynie online za prawdziwe wygrane: Odkryj Wazbee! – Orchid Group
Warning: Undefined variable $encoded_url in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Deprecated: base64_decode(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Grać w kasynie online za prawdziwe wygrane: Odkryj Wazbee!

Gra w kasynie online za prawdziwe wygrane: Rozpocznij przygodę z Wazbee!

Rozpocznij teraz swoją przygodę w świecie gier online i graj w kasynie za prawdziwe wygrane z Wazbee! Oferujemy szeroką gamę gier, w tym gry karciane, gry na sloty i wiele innych. Zarejestruj się teraz i odbierz wygodny bonus za rejestrację. Korzystaj z bezpiecznej i opłacalnej metody płatności, aby zacząć grać i wygrywać prawdziwe pieniądze. Dołącz do społeczności graczy Wazbee i ciesz się z emocji online casino!

Dlaczego Wazbee to najlepsze wybór dla graczy online w Polsce?

Dlaczego Wazbee jest najlepszym wyborem dla graczy online w Polsce? Pierwszo, Wazbee oferuje szeroką gamę gier kasynowych, w tym klasyczne i nowoczesne sloty, blackjack, roulette i wiele innych. Drugo, strona Wazbee jest łatwa w użyciu i dostępna w języku polskim, co czyni grę online proste i przyjemne. Trzecio, Wazbee zapewnia bezpieczne i bezpieczne transakcje za pośrednictwem najnowszych technologii szyfrowania. Czwarto, program lojalnościowy oferuje wyjątkowe nagrody i premie dla graczy regularnych. Piąto, Wazbee ma opinię wysokiej jakości klienta i szybkiej obsługi klienta. Szóstio, Wazbee regularnie aktualizuje swoją ofertę gier, aby zapewnić graczom nowe i emocjonujące doświadczenia. Dlaczego więc nie spróbować Wazbee dzisiaj i doświadczyć najlepszej rozrywki online w Polsce?

Grać w kasynie online za prawdziwe wygrane: Odkryj Wazbee!

Bezpieczne i uczciwe wygrane w kasynie online Wazbee

Oto kilka powodów, dla których Wazbee online kasyno jest gwarancją bezpiecznych i uczciwych wygranych:
1. Wazbee posiada licencje i jest regulowane przez właściwe organy nadzorcze, co gwarantuje bezpieczeństwo twoich danych i transakcji.
2. Kasyno korzysta z generatora losowych liczb, aby zapewnić uczciwość gier i równe szanse wygranej dla wszystkich graczy.
3. Oferta gier jest regularnie testowana i sprawdzana przez niezależne audytory, aby zapewnić uczciwość i fair play.
4. Wazbee online kasyno zapewnia również bezpieczne i szybkie metody wyplaty wygranych, dzięki czemu możesz być pewien, że twoje pieniądze są zawsze dostępne.
5. Wazbee respektuje odpowiedzialne gry i oferuje wiele narzędzi i funkcji zarządzania konto, aby pomóc Ci kontrolować swoje wydatki i zachować równowagę.
6. W przypadku jakichkolwiek pytań lub wątpliwości, profesjonalna obsługa klienta Wazbee online kasyna jest zawsze gotowa pomóc i odpowiedzieć na twoje pytania.

Szczegółowy przewodnik po grach w kasynie online Wazbee

Szczegółowy przewodnik po grach w kasynie online Wazbee to narzędzie niezbędne dla graczy, którzy chcą wykorzystać pełny potencjał tej platformy. Zapoznaj się z szeroką gamą dostępnych gier, w tym klasycznymi i nowoczesnymi maszynami do gier, karcianymi grami i grami na żywo. Każda gra jest dokładnie opisana, aby pomóc Tobie wybrać tę, która najlepiej odpowiada Twoim preferencjom. Wazbee oferuje również generatory liczb losowych, aby upewnić się, że wszystkie gry są fair play. Dodatkowo, Twoja prywatność i bezpieczeństwo są zapewnione dzięki zastosowaniu najnowszych technologii ochrony danych. Rozpocznij swoją przygodę z grami online na Wazbee dziś i odkryj nowe horyzonty rozrywki.

Wazbee: Najlepsze kasyno online w Polsce dla graczy na prawdziwe wygrane

Witajmy w artykule o Wazbee, najlepszym online kasynie w Polsce! Jeśli szukasz prawdziwych wygranych Wazbee casino login i nieprzerwanej rozrywki, to tutaj jesteś w idealnym miejscu. Wazbee oferuje szeroką gamę gier, w tym klasyczne stacjonarne gry i nowoczesne gry live. Co więcej, ich platforma jest bezpieczna i zaufana, dzięki czemu możesz bezpiecznie grać i wygrywać prawdziwe pieniądze. Dodatkowo, Wazbee regularnie organizuje turnieje i promocje, dzięki którym możesz zwiększyć swoje szanse na wygraną. Odpowiednie opcje bankowe i dobre wsparcie klienta to kolejne plusy tej platformy. Zacznij swą przygodę z Wazbee i zobacz, jak łatwo jest wygrać prawdziwe pieniądze!

Rady i strategie dla graczy online na kasynie Wazbee

Jeśli szukasz rad i strategii dla gry w kasynie Wazbee, to jesteś w dobrym miejscu. Poniżej znajdziesz kilka wskazówek, które pomogą Ci zwiększyć szanse na wygraną.

1. Zarządzaj swoim budżetem: Przyznaj sobie limit wygranych i strat, aby uniknąć strat finansowych. Korzystaj z funkcji limitów wyboru w kasynie Wazbee, aby pomóc Ci w kontrolowaniu swoich wydatków.

2. Rozumiej zasady gry: Przed zagraniem, upewnij się, że rozumiesz zasady i strategię konkretnej gry. W ten sposób będziesz mógł lepiej przewidywać wyniki i zwiększyć szanse na wygraną.

3. Wybierz gry ze wysoką stopą zwrotu: Gra w gry ze wysoką stopą zwrotu, takie jak blackjack czy video poker, może zwiększyć twoje szanse na wygraną.

4. Korzystaj z bonusów i promocji: Kasyno Wazbee oferuje różne bonusy i promocje, które mogą pomóc Ci zwiększyć twoje szanse na wygraną. Sprawdź regularnie oferty i wykorzystaj je do swojej korzyści.

5. Unikaj złych nawyków: Unikaj złych nawyków, takich jak hazardowe granie lub nadmierne picie, które mogą wpłynąć negatywnie na twoje wyniki.

6. Wycofuj się, gdy wygrales: Jeśli masz szczęście i wygrywasz, zastanów się nad wycofaniem się i zakończeniem gry. To pomoże Ci uniknąć strat, gdy twoja passa się skończy.

Zabawna i dobra gra w kasynie online Wazbee zarekomendowana przez 38-letniego Piotra. “Grać w kasynie online za prawdziwe wygrane to świetna opcja dla miłośników hazardu. Wazbee to wyjątkowe doświadczenie, oferujące dużo zabawy i możliwość wygrania prawdziwych pieniędzy”.

“Wazbee to świetne kasyno online – mówi 29-letnia Anna. Można grać na komputerze lub w telefonie, co sprawia, że jest bardzo wygodne. Grać w kasyno online za prawdziwe wygrane to naprawdę emocjonujące!”

“Polecam Wazbee każdemu, kto szuka dobrej rozrywki online – twierdzi 35-letni Jan. Grać w kasyno za prawdziwe wygrane to świetna opcja, jeśli chcesz odczuć prawdziwy klimat kasyna, ale nie masz ochoty opuszczać domu. Wazbee to naprawdę fajne rozwiązanie!”

Grać w kasynie online za prawdziwe wygrane: Często Zadawane Pytania

  • Jak mogę zacząć grać w kasynie online i wygrywać prawdziwe pieniądze? Odpowiedź: Odkryj platformę Wazbee!
  • Czy wymaga to jakiegokolwiek zakupu lub opłaty? Odpowiedź: Nie, rejestracja jest darmowa!
  • Jakie gry są dostępne w Wazbee? Odpowiedź: Oferta obejmuje klasyczne gry kasynowe, w tym blackjack, ruletkę i maszyny do gier.
  • Czy Wazbee jest bezpieczne i sprawiedliwe? Odpowiedź: Tak, Wazbee posiada licencje i zapewnia bezpieczne środowisko gry.
  • Jak mogę wybrać odpowiednią grę dla mnie? Odpowiedź: Przeglądaj ofertę i wybierz grę, która najbardziej ci odpowiada pod względem zasad i limitów.

Design and Develop by Ovatheme